// pages/upload/upload.js
Page({

  /**
   * 页面的初始数据
   */
  data: {
    name:'',
    price:0,
    wechatID:'',
    imageUrl:'',
    addressOptions:['西海岸校区','崂山校区','鱼山校区','浮山校区'],
    address:'',
    productId:'',
    // objectAddress:[
    //   {
    //     id: 0,
    //     name:'西海岸校区'
    //   },
    //   {
    //     id: 1,
    //     name:'崂山校区'
    //   },
    //   {
    //     id: 2,
    //     name:'鱼山校区'
    //   },
    //   {
    //     id: 3,
    //     name:'浮山校区'
    //   }
    // ]
  },
  // 名称
  onNameInput(event){
    this.setData({name:event.detail.value});
  },
  // 校区
  onAddressChange(e){
    const address = this.data.addressOptions[e.detail.value];
    this.setData({address});
  },
  // bindPickerChange:function(e){
  //   console.log('picker携带值变为', e.detail.value)
  //   this.setData({
  //     address: e.detail.value
  //   })
  // },
  //价格
  onPriceInput(event){
    const value = event.detail.value;
    if (value === ''){
      this.setData({ price: 0 });
    }else{
      const numberValue = Number(value);
      if (numberValue < 0){
        wx.showToast({
          title: '价格不能小于0',
          icon:'none',
          duration:2000
        });
        this.setData({ price: 0 });
      }else{
        this.setData({ price: numberValue });
      }
    }
    // this.setData({price:event.detail.value});
  },
  //联系方式
  onWechatIDInput(event){
    this.setData({wechatID:event.detail.value});
  },
  //上传图片
  chooseImage() {
    const that = this;
    wx.chooseImage({
      count: 1,
      success(res) {
        // 选择图片后上传到云存储
        const tempFilePath = res.tempFilePaths[0];
        wx.cloud.uploadFile({
          cloudPath: `products/${new Date().getTime()}.png`,
          filePath: tempFilePath,
          config:{
            env:'mq-1gfk0se0b3fa0d60'
          },
          success: uploadRes => {
            that.setData({ imageUrl: uploadRes.fileID });
          },
          fail: err => {
            console.error('上传图片失败', err);
            wx.showToast({
              title: '图片上传失败',
              icon:'none'
            });
          }
        });
      }
    });
  },
  //提交上传
  async submitProduct() {
    const { name, address, price, wechatID,imageUrl } = this.data;
    if (!name || !address || !price || !imageUrl || !wechatID) {
      wx.showToast({
        title: '请填写完整信息',
        icon: 'none'
      });
      return;
    }

    try{
      //获取用户的openid
      const user = await wx.cloud.callFunction({
        name:'getUserInfo'
      });
      const userId = user.result.openid;
      //创建数据库引用
      const db = wx.cloud.database();
      console.log(db);
      //添加到集合products中
      const result =await db.collection('products').add({
        data:{
          name,
          address,
          price,
          wechatID,
          imageUrl,
          userId,
          createdAt: db.serverDate() //云端时间戳
        }
      });
      
      db.collection('products').doc(result._id).update({
        data: { // 注意这里是data字段，不是res
          productId: result._id.toString(), // 确保inputText在此上下文中是可用的
        },
        success: res => {
          console.log('Record updated successfully:', res);
          // 处理更新成功后的逻辑
        },
        fail: err => {
          console.error('Failed to update record:', err);
          // 处理更新失败后的逻辑
        },
      });

      wx.showToast({
        title: '提交成功',
        icon:'success'
      });
      wx.navigateBack();

    } catch(err){
      console.error('提交失败', err);
      wx.showToast({
        title: '提交失败，请重试',
        icon: 'none'
      });
    }
    

    // 将商品信息保存到全局或本地存储中
    // const newProduct = { name, address, price, wechatID, imageUrl, userId };
    // let products = wx.getStorageSync('products') || [];
    // products.push(newProduct);

    //输出，检查是否传入
    // console.log('商品信息：',newProduct);
    // console.log('所有商品信息：',products);
    
    // wx.setStorageSync('products', products);

    // 跳转回首页并传递商品信息
    wx.navigateBack();
  },
  /**
   * 生命周期函数--监听页面加载
   */
  onLoad(options) {

  },

  /**
   * 生命周期函数--监听页面初次渲染完成
   */
  onReady() {

  },

  /**
   * 生命周期函数--监听页面显示
   */
  onShow() {

  },

  /**
   * 生命周期函数--监听页面隐藏
   */
  onHide() {

  },

  /**
   * 生命周期函数--监听页面卸载
   */
  onUnload() {

  },

  /**
   * 页面相关事件处理函数--监听用户下拉动作
   */
  onPullDownRefresh() {

  },

  /**
   * 页面上拉触底事件的处理函数
   */
  onReachBottom() {

  },

  /**
   * 用户点击右上角分享
   */
  onShareAppMessage() {

  }
})